<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <input type="text" class="myinput" />

    </div>
    <script>
        // let ele = document.querySelector(".myinput");
        // // 1.失去焦点 2.内容改变了
        // ele.onblur = function(){
        //     console.log("改变了");
        // }
        // const obj = {};
        // obj.__proto__.age = 20;
        // function isObjectEmpty(obj) {
        //     for (var key in obj) { // 循环原型链
        //         if(obj.hasOwnProperty(key)){
        //             return false
        //         }
        //     }
        //     return true
        // }
        // console.log(isObjectEmpty(obj))

        // let obj1 = {name:"张三"};
        // for(let key in obj1){
        //     console.log(key);
        // }

        // let obj2 = Object.defineProperty({},"name",{
        //     enumerable:true,  // 可枚举 
        //     get(){
        //         return "张三"
        //     }
        // })
        // // console.log(obj1,obj2)
        // for(let key in obj2){
        //     console.log(key);
        // }


        // function test(){
        //     var a = 10;
        //     return function(){
        //         console.log(a)
        //     }
        // }

        // var a  = 10;
        // function test(){
        //     console.log(a);
        // }
        // test();

        // class Person{
        //     #weight = "100kg";
        //     constructor(name){
        //         this.name = name;
        //     }
        //     // 共有方法,调用私有成员
        //     getWeigth(){
        //         console.log(this.#weight);
        //     }
        // }
        // let zhnagsan = new Person("张三");
        // // console.log(zhnagsan.#weight);
        // zhnagsan.getWeigth();

        // __proto__ :已废弃    
        // null
        // anglar.js 断崖式更新
        
    

        class Person{
            constructor(name){
                this.name = name;
            }
        }
        function getOnceInstance(fn){
            let instance = null;
            return function(...args){
                if(!instance){
                    instance = new fn(...args);
                }
                return instance;
            }
        }
        let sPerson = getOnceInstance(Person);
        let zhangsan = new sPerson("张三");
        let lisi  = new sPerson("李四");
        console.log(zhangsan,lisi)

        // document.addEventListener
        // document.removeEventListener
    </script>
</body>

</html>